/**
 * @file
 * @author Filipe Mutz
 *
 * @section DESCRIPTION
 *
 * This file contains the definition of the neural network class
 */

#ifndef NETWORK_H_
#define NETWORK_H_

#include <vector>
#include "neuron.h"
#include "distribution.h"

using namespace std;
using namespace nn_lib::neuron;
using namespace nn_lib::distribution;

namespace nn_lib
{
	namespace Network
	{
		template<class InputClass, class OutputClass>
		class NeuralNetwork
		{
			vector<Neuron<InputClass, OutputClass> > neurons;
			Distribution neuron_distribution;

			public:

				NeuralNetwork(int number_of_neurons) {}
				~NeuralNetwork() {}

				void train();
		};
	}
}

#endif
